home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / mskermit.lbr / MSKERMIT.DQC / mskermit.doc
Text File  |  1985-06-03  |  67KB  |  1,453 lines

  1.                                                                       79
  2.  
  3.  
  4. 9. MS-DOS KERMIT
  5.  
  6. Program:    Daphne Tzoar and Jeff Damens, Columbia University; contribu-
  7.             tions by many others.
  8. Language:   Microsoft Macro Assembler (MASM)
  9. Documentation:
  10.             Frank  da  Cruz,  Columbia  University; Herm Fischer, Litton
  11.             Data Systems, Van Nuys CA.
  12. Version:    2.26
  13. Date:       July 1984
  14.  
  15.  
  16. Kermit-MS Capabilities At A Glance:
  17.  
  18.   Local operation:                   Yes
  19.   Remote operation:                  Yes
  20.   Transfers text files:              Yes
  21.   Transfers binary files:            Yes
  22.   Wildcard send:                     Yes
  23.   ^X/^Y interruption:                Yes
  24.   Filename collision avoidance:      Yes
  25.   Can time out:                      Yes
  26.   8th-bit prefixing:                 Yes
  27.   Repeat count prefixing:            Yes
  28.   Alternate block checks:            Yes
  29.   Terminal emulation:                Yes
  30.   Communication settings:            Yes
  31.   Transmit BREAK:                    Yes
  32.   IBM mainframe communication:       Yes
  33.   Transaction logging:               No
  34.   Session logging:                   Yes
  35.   Raw transmit:                      No
  36.   Act as server:                     Yes
  37.   Talk to server:                    Yes
  38.   Advanced server functions:         No
  39.   Advanced commands for servers:     Yes
  40.   Local file management:             Yes
  41.   Handle file attributes:            No
  42.   Command/init files:                Yes
  43.   Command macros:                    Yes
  44.  
  45. Kermit-MS is a program that implements the KERMIT file transfer protocol
  46. for the IBM PC and several  other  machines  using  the  same  processor
  47. family  (Intel  8088  or  8086)  and  operating system family (PC-DOS or
  48. MS-DOS, henceforth referred to collectively  as  MS-DOS,  versions  1.1,
  49. 2.0,  and  2.1,  and thereafter).  This section will describe the things
  50. you should know about the MS-DOS file system in order to make  effective
  51. use of Kermit, and then it will describe the Kermit-MS program.
  52.  
  53. Version  2  of MS-DOS Kermit runs on a variety of systems, including the
  54. IBM PC and XT, the HP-150, the DEC Rainbow 100 and 100+ (MS-DOS 2.05 and
  55. above), the Wang PC, and there is a "generic" MS-DOS version.  Version 1
  56. was adapted at various stages of development to run on other systems  as
  57. well,   including   the   Heath/Zenith  100,  Tandy  2000,  Victor  9000
  58. (Sirius-1), and Seequa Chameleon, and is still available for those  sys-
  59. tems until support for them and others is added to version 2.
  60.                                                                       80
  61.  
  62.  
  63. The program operates under version 1.1 or 2.0 and above of DOS, although
  64. some  features  require  the  functionality  of  2.0.    It  runs in ap-
  65. proximately 80K of memory -- over and  above  the  memory  used  by  DOS
  66. --  which means that your system should have at least 128K of RAM to use
  67. version 2 of MS-DOS Kermit; smaller systems may still use Version 1.
  68.  
  69.  
  70. 9.1. The MS-DOS File System
  71.  
  72. The features of the MS-DOS file system of greatest  interest  to  KERMIT
  73. users  are  the form of the file specifications, and the distinction be-
  74. tween pre-MS-DOS 2.0 file names and newer file names which allow  direc-
  75. tory paths.
  76.  
  77.  
  78. 9.1.1. File Specifications
  79.  
  80. MS-DOS 2.x file specifications are of the form
  81.  
  82.   DEVICE:\PATHNAME\NAME.TYPE
  83.  
  84. where  the  DEVICE is a single character identifier (for instance, A for
  85. the first floppy disk, C for the first fixed disk,  D  for  a  RAM  disk
  86. emulator),  PATHNAME  is  up  to 63 characters of identifier(s) (up to 8
  87. characters each) surrounded by reverse slashes, NAME is an identifier of
  88. up to 8 characters, and TYPE is an identifier of up to 3  characters  in
  89. length.  Device and pathname may be omitted.  The first backslash in the
  90. pathname may be omitted if the specified path is relative to the current
  91. directory.    In the path field, "." means current directory, ".." means
  92. parent directory.  Some DOS implementations (like Wang)  may  use  slash
  93. "/" rather than backslash in the path field.
  94.  
  95. Pathname  is normally omitted, and cannot be specified for MS-DOS 1.x or
  96. with those commands which allow MS-DOS 1.x use.   Device  and  directory
  97. pathnames,  when  omitted, default to either the user's current disk and
  98. directory, or to the current directory search path as specified  in  the
  99. DOS  PATH  environment  variable,  depending on the context in which the
  100. file name appears.
  101.  
  102.     When this manual says that a file is searched for "in  the  cur-
  103.     rent path," it means that the PATH is searched first, and if the
  104.     file  is not found, then Kermit-MS looks on the current disk and
  105.     directory.  If the PATH environment variable  is  empty,  Kermit
  106.     looks only at the current disk and directory.
  107.  
  108. NAME.TYPE is normally sufficient to specify a file, and only this infor-
  109. mation is sent along by Kermit-MS with an outgoing file.
  110.  
  111. The  device,  path, name, and type fields may contain uppercase letters,
  112. digits, and the special characters "-" (dash), "_" (underscore), and "$"
  113. (dollar sign).   (For  use  only  among  MS-DOS  processors,  additional
  114. filename  special  characters  allowed are "#&!%'`(){}".  DOS 1.x allows
  115. others as well.).  There are no imbedded  or  trailing  spaces.    Other
  116. characters  may  be not be included; there is no mechanism for "quoting"
  117. otherwise illegal characters in filenames.    The  fields  of  the  file
  118. specification  are set off from one another by the punctuation indicated
  119.                                                                       81
  120.  
  121.  
  122. above.
  123.  
  124. The  name  field is the primary identifier for the file.  The type, also
  125. called the extension or suffix, is an indicator  which,  by  convention,
  126. tells  what kind of file we have.  For instance FOO.BAS is the source of
  127. a BASIC program named FOO;  FOO.OBJ  might  be  the  relocatable  object
  128. module  produced  by  compiling  FOO.BAS; FOO.EXE could be an executable
  129. program produced by linking FOO.OBJ, and so forth.  .EXE  and  .COM  are
  130. the normal suffixes for executable programs.
  131.  
  132. The  MS-DOS  allows  a  group  of files to be specified in a single file
  133. specification by including the special "wildcard" characters, "*" and "?
  134. ".  A "*" matches any string of characters from the current position  to
  135. the  end of the field, including no characters at all; a "?" matches any
  136. single character.  Here are some examples:
  137.  
  138.   *.BAS   All files of type BAS (all BASIC source files) in the  current
  139.           directory.
  140.  
  141.   FOO.*   Files of all types with name FOO.
  142.  
  143.   F*.*    All files whose names start with F.
  144.  
  145.   F?X*.*  All  files whose names start with F and contain X in the third
  146.           position, followed by zero or more characters.
  147.  
  148.   ?.*     All files whose names are exactly one character long.
  149.  
  150. Wildcard notation is used on many computer systems in similar ways,  and
  151. it  is  the  mechanism  most  commonly used to instruct Kermit to send a
  152. group of files.
  153.  
  154.     Note: Kermit-MS uses the "?" character for help  while  commands
  155.     are  being  typed, so the single-character wildcard in Kermit-MS
  156.     commands is "=" rather than "?".  For example
  157.  
  158.       Kermit-MS>send =.*
  159.  
  160.     would send files of all  types  whose  names  were  exactly  one
  161.     character long.
  162.  
  163. Kermit-MS  users should bear in mind that other (non-MS-DOS) systems may
  164. use different wildcard characters.  For instance the DEC-20 uses "%" in-
  165. stead of "?" as the single character wildcard; when using  Kermit-MS  to
  166. request a wildcard file group from a KERMIT-20 server, the Kermit-MS "="
  167. must be replaced by the DEC-20 "%".
  168.  
  169.  
  170. 9.1.2. File Formats
  171.  
  172. MS-DOS  systems  store files as bulk collections of 8 bit bytes, with no
  173. particular differences between text, program  code,  and  binary  files.
  174. ASCII  text files consist of lines separated by carriage-return-linefeed
  175. sequences (CRLFs), which conforms exactly to the way  Kermit  represents
  176. text  files  during  transmission.   Since a non-MS-DOS receiving system
  177. might need to make distinctions as to file type, you  may  need  to  use
  178.                                                                       82
  179.  
  180.  
  181. various  SET functions on the remote system to inform it that the incom-
  182. ing file is of some particular (non-default) type, such as binary.    In
  183. transmitting files between Kermit-MS's, regardless of file contents, the
  184. receiving MS-DOS system is equally capable of processing text, code, and
  185. data,  and  in  fact  has  no knowledge of how the bytes in the file are
  186. used.
  187.  
  188. MS-DOS (unlike CP/M) is capable of pinpointing  the  end  of  file  with
  189. precision  by keeping a byte count in the directory, so one would expect
  190. no particular  confusion  in  this  regard.    However,  certain  MS-DOS
  191. programs  continue to use the CP/M convention of terminating a text file
  192. with a Control-Z character, and won't operate correctly unless this ter-
  193. minating byte is present.  Therefore, Kermit-MS users should be aware of
  194. a special SET EOF option for both incoming and outbound files, described
  195. below.
  196.  
  197. Non-MS-DOS systems may well be confused by nonstandard ASCII files  from
  198. Kermit-MS.   Files produced by Easywriter or Word Star, for example, may
  199. need to be converted to conventional ASCII format prior to  transmission
  200. by  commonly  available  "exporter"  programs.   Spreadsheet or database
  201. files usually need special formatting to  be  meaningful  to  non-MS-DOS
  202. recipients  (though  they can be transmitted between MS-DOS systems with
  203. Kermit-MS).  Furthermore, files created by word processors (such as BLUE
  204. or Easy Writer) that store formatting data at the end of the file, after
  205. the control-Z and before physical end, will require  special  processing
  206. via  SET  EOF to strip the formatting data, lest they confuse non-MS-DOS
  207. recipients.
  208.  
  209.  
  210. 9.2. Program Operation
  211.  
  212. Kermit-MS can be  run  interactively,  from  a  batch  file,  or  as  an
  213. "external"  DOS  command.    Commands  consist  of  one  or more fields,
  214. separated by "whitespace" -- one or more spaces or tabs.
  215.  
  216. Upon initial startup, the program executes any  commands  found  in  the
  217. file  MSKERMIT.INI  in  the  current path.  This initialization file may
  218. contain command macro definitions, communications settings  for  one  or
  219. more  ports,  or  any  other  Kermit-MS  commands.    Here  is  a sample
  220. MSKERMIT.INI file:
  221.  
  222.   set warning on  ; Enable filename collision avoidance.
  223.   ;
  224.   ; Define some macros
  225.   ;
  226.   define unix set local-echo off, set flow xon, set timer off
  227.   def ibm set parity odd, set local on, set handsh xon, set timer on
  228.   def modem set port 2, set baud 1200
  229.   def noisy set block-check 3, set send packet-length 40
  230.   ;
  231.   ; Select a port
  232.   ;
  233.   set port 1      ; Select COM1 for communications,
  234.   set baud 4800   ; setting the speed to 4800 baud,
  235.   connect         ; and make a terminal connection.
  236.                                                                       83
  237.  
  238.  
  239. Note  that  comments may be included by prefixing them with a semicolon.
  240. The program can be run in several ways.
  241.  
  242.  
  243. Interactive Operation:
  244.  
  245. To run Kermit-MS interactively, invoke  the  program  from  DOS  command
  246. level by typing its name.  When you see the command's prompt,
  247.  
  248.   Kermit-MS>
  249.  
  250. you  may type Kermit commands repeatedly until you are ready to exit the
  251. program, for example:
  252.  
  253.   A>
  254.   A>kermit
  255.  
  256.   IBM PC Kermit-MS V2.26
  257.   Type ? for help
  258.  
  259.   Kermit-MS>send foo.*
  260.  
  261.     informational messages about the files being sent
  262.  
  263.   Kermit-MS>get bar.*
  264.  
  265.     informational messages about the files being received
  266.  
  267.   Kermit-MS>exit
  268.   A>
  269.  
  270. During interactive operation, you may edit the command you're  currently
  271. typing  to  erase  the character most recently typed (BACKSPACE or DEL),
  272. the most recent field (CTRL-W), or the entire command (CTRL-U).  In  ad-
  273. dition, you may use the help ("?") and recognition (ESC) features freely
  274. while  typing  Kermit-MS  commands.  A question mark typed at almost any
  275. point in a command produces a brief description of what is  expected  or
  276. possible  at  that  point;  for  this reason, Kermit-MS uses "=" for the
  277. single-character match wildcard in local filenames.  ESC  typed  at  any
  278. point,  even  in  a  local  filename, will cause the current field to be
  279. filled out if what you have typed so far is sufficient to  identify  it,
  280. and  will leave you in position to type the next field (or to type a "?"
  281. to find out what the next field is); otherwise, the program will beep at
  282. you and wait for you to type further characters.
  283.  
  284. Some Kermit-MS commands, like GET, SHOW KEY, SET KEY, may prompt for ad-
  285. ditional information on subsequent lines.  If you have  reached  one  of
  286. these  prompts  and  then  wish  to  cancel  the  command,  you may type
  287. Control-C.
  288.  
  289. Summary of Kermit-MS Command Characters:
  290.  
  291.   BACKSPACE     Delete the character most recently typed.  May be  typed
  292.                 repeatedly  to  delete  backwards.    You  may  also use
  293.                 DELETE, RUBOUT, or equivalent keys.
  294.                                                                       84
  295.  
  296.  
  297.   CTRL-W        Delete  the most recent "word", or field, on the command
  298.                 line.  May be typed repeatedly.
  299.  
  300.   CTRL-U        Delete the entire command line.
  301.  
  302.   CTRL-C        Cancel  the  current   command   and   return   to   the
  303.                 "Kermit-MS>" prompt.
  304.  
  305.   ?             Type a brief message describing what you are expected to
  306.                 type in the current field.
  307.  
  308.   ESC           If  enough  characters have been supplied in the current
  309.                 field (keyword or file name) to  uniquely  identify  it,
  310.                 supply  the  remainder  of the field and position to the
  311.                 next field of the command.  Otherwise, sound a beep.
  312.  
  313.   =             Wildcard character for  matching  single  characters  in
  314.                 filenames, equivalent to MS-DOS "?".
  315.  
  316.  
  317. Command Line Invocation:
  318.  
  319. Kermit-MS  may also be invoked with command line arguments from DOS com-
  320. mand level, for instance:
  321.  
  322.   A>kermit send foo.bar
  323.  
  324. or
  325.  
  326.   A>kermit set port 1, set baud 9600, connect
  327.  
  328. In this case, help  and  recognition  are  not  available  (because  the
  329. program  won't  start  running  until  after you type the entire command
  330. line), and Kermit-MS will exit after completing the specified command or
  331. commands.    Therefore,  when  invoked  with  command  line   arguments,
  332. Kermit-MS  will behave as if it were an external DOS command, like MODE.
  333. Note that several commands may be given on the command  line,  separated
  334. by commas.
  335.  
  336.  
  337. Batch Operation:
  338.  
  339. Like  other  MS-DOS programs, Kermit-MS may be operated under batch with
  340. either command line arguments and/or TAKE files; Kermit  will  also  run
  341. interactively  if invoked from batch, but it will read commands from the
  342. keyboard and not the batch file.
  343.  
  344.  
  345. 9.3. Kermit-MS Commands
  346.  
  347. MS-DOS Kermit implements a large subset of the commands of "ideal"  Ker-
  348. mit.  Here's a brief summary:
  349.  
  350.           BYE  to remote server.
  351.         CLOSE  log file and stop logging remote session.
  352.       CONNECT  as terminal to remote system.
  353.                                                                       85
  354.  
  355.  
  356.        DEFINE  macros of Kermit-MS commands.
  357.        DELETE  local files.
  358.     DIRECTORY  listing of local files.
  359.            DO  a macro expansion.
  360.          EXIT  from Kermit-MS.
  361.        FINISH  Shut down remote server.
  362.           GET  remote files from server.
  363.          HELP  about Kermit-MS.
  364.         LOCAL  prefix for local file management commands.
  365.           LOG  remote terminal session.
  366.        LOGOUT  remote server.
  367.          PUSH  to MS-DOS command level.
  368.          QUIT  from Kermit-MS
  369.       RECEIVE  files from remote Kermit.
  370.        REMOTE  prefix for remote file management commands.
  371.           RUN  an MS-DOS program.
  372.          SEND  files to remote Kermit.
  373.        SERVER  mode of remote operation.
  374.           SET  various parameters.
  375.          SHOW  various parameters.
  376.         SPACE  inquiry.
  377.        STATUS  inquiry.
  378.          TAKE  commands from file.
  379.  
  380. The  remainder  of  this  section concentrates on the commands that have
  381. special form or meaning for MS-DOS Kermit.  Not  all  of  the  following
  382. commands  are  necessarily  available on all MS-DOS systems, and some of
  383. the commands may work somewhat differently between DOS versions.
  384.  
  385.  
  386. 9.3.1. Commands for File Transfer
  387.  
  388. The file transfer commands are SEND, GET, and RECEIVE.
  389.  
  390.  
  391.                             THE SEND COMMAND
  392.  
  393. Syntax:  SEND filespec1 [filespec2]
  394.  
  395. The SEND command causes a file or file group to be sent from  the  local
  396. MS-DOS system to the Kermit on the remote system.  The remote Kermit may
  397. be running in either server or interactive mode; in the latter case, you
  398. should  already have given it a RECEIVE command and escaped back to your
  399. PC.
  400.  
  401. filespec1 may contain a device designator, like "A:"  and  the  wildcard
  402. characters  "*"  and/or "=".  The current release of Kermit-MS, however,
  403. does not allow pathnames in the SEND command file specification.
  404.  
  405. If filespec1 contains wildcard characters then all matching  files  will
  406. be  sent,  in  the same order that MS-DOS would show them in a directory
  407. listing.  If filespec1 specifies a single file, you may direct Kermit-MS
  408. to send that file with a different name, given in filespec2.    For  in-
  409. stance, in the command
  410.  
  411.   Kermit-MS>send foo.bar framus.widget
  412.                                                                       86
  413.  
  414.  
  415. filespec2  begins  with the first nonblank character after filespec1 and
  416. ends with the carriage return; thus it may contain blanks or  other  un-
  417. usual  characters  that may be appropriate on the target machine.  Lower
  418. case letters in filespec2 are raised to upper case for transmission.
  419.  
  420. If a file can't be opened for  read  access,  standard  MS-DOS  recovery
  421. procedures will take place.  For example:
  422.  
  423.   Not ready error reading drive A
  424.   Abort, Retry, Ignore?
  425.  
  426. If you select "Abort," you will be returned to DOS.
  427.  
  428. Files will be sent with their MS-DOS filename and filetype (for instance
  429. FOO.TXT,  no device or pathname).  Each file is sent as is, with no con-
  430. versions done on the data, except for possibly adding or deleting a ter-
  431. minating Control-Z character (see the SET EOF command).
  432.  
  433. Once you give Kermit-MS the SEND command, the name of each file will  be
  434. displayed  on  your  screen  as  the transfer begins; packet, retry, and
  435. other counts will be displayed along with informational messages  during
  436. the  transfer.    If  the file is successfully transferred, you will see
  437. "Complete", otherwise  there  will  be  an  error  message.    When  the
  438. specified operation is done, the program will sound a beep.
  439.  
  440. Several  single-character commands may be given while a file transfer is
  441. in progress:
  442.  
  443.   ^X  (Control-X) Stop sending the current file and go on  to  the  next
  444.       one, if any.
  445.  
  446.   ^Z  Stop sending this file, and don't send any further files.
  447.  
  448.   ^C  Return  to Kermit-MS command level immediately without sending any
  449.       kind of notification to the remote system.
  450.  
  451.   ^E  Like ^C, but send an Error packet to the remote Kermit in  an  at-
  452.       tempt to bring it back to server or interactive command level.
  453.  
  454.   CR  Simulate a timeout: resend the current packet, or NAK the expected
  455.       one.
  456.  
  457. Control-X  and Control-Z send the proper protocol messages to the remote
  458. Kermit to bring it gracefully to the desired state.    Control-C  leaves
  459. the  remote  Kermit  in  whatever  state it happens to be in.  Control-E
  460. "aborts" any protocol that is taking place.
  461.  
  462.  
  463.                           THE RECEIVE COMMAND
  464.  
  465. Syntax: RECEIVE [filespec]
  466.  
  467. The RECEIVE command tells Kermit-MS to receive a file or file group from
  468. the other system.  Kermit-MS simply waits for the file to  arrive;  this
  469. command  is  not to be used when talking to a Kermit server (use GET for
  470. that).  You should already have issued a SEND command to the remote Ker-
  471.                                                                       87
  472.  
  473.  
  474. mit and escaped back to Kermit-MS before issuing the RECEIVE command.
  475.  
  476. If the optional filespec is provided, store the incoming file under that
  477. name.    The filespec may include a device designator, or may consist of
  478. only a device designator.  The incoming file is stored on the default or
  479. specified device (current directory in DOS 2.0 and thereafter).   If  no
  480. name  was  specified,  the  name from the incoming file header packet is
  481. used; if that name is not a  legal  MS-DOS  file  name,  Kermit-MS  will
  482. delete  excessive characters from it, and will change illegal characters
  483. to the letter X.
  484.  
  485. If the optional filespec was provided, but more than one  file  arrives,
  486. the  first  file  will  be  stored  under  the  given  filespec, and the
  487. remainder will be stored under their own names,  but  on  the  specified
  488. device.
  489.  
  490. If an incoming file does not arrive in its entirety, Kermit-MS will nor-
  491. mally  discard it; it will not appear in your directory.  You may change
  492. this behavior by using the command SET INCOMPLETE KEEP, which will cause
  493. as much of the file as arrived to be saved in your directory.
  494.  
  495. The same single-character commands are available as during SEND:
  496.  
  497.   ^X  Request that the remote Kermit stop sending the current file,  and
  498.       proceed  to  the  next one immediately.  Since this is an optional
  499.       feature of the Kermit protocol, the remote Kermit might not  honor
  500.       the request.
  501.  
  502.   ^Z  Request that the remote Kermit terminate the entire transfer; this
  503.       is  also  an  optional feature that may or may not be supported by
  504.       the remote Kermit.
  505.  
  506.   ^C, ^E, and CR operate in the same way as they do during SEND.
  507.  
  508. If the incoming file has the same name as a file  that  already  exists,
  509. and  WARNING is set ON, Kermit-MS will change the incoming name (and in-
  510. form you how it renamed it) so as not  to  obliterate  the  pre-existing
  511. file.   If WARNING is OFF, the original file will be overwritten; if you
  512. type ^X or ^Z to interrupt the transfer, you'll either get a partial new
  513. file, or else both the old and the new file of that name will  be  lost,
  514. depending  on  SET  INCOMPLETE.  In any case, when WARNING is off, files
  515. with the same name as incoming files will not survive.
  516.  
  517. Caution: If an incoming file's name  (the  part  before  the  dot)  cor-
  518. responds  to an MS-DOS device name, such as NUL, COM1, CON, AUX, or PRN,
  519. output will go to that device, rather than to a  file  with  that  name.
  520. This is a feature of MS-DOS.
  521.                                                                       88
  522.  
  523.  
  524.                             THE GET COMMAND
  525.  
  526. Syntax: GET remote-filespec
  527.  
  528. The GET command requests a remote KERMIT server to send the file or file
  529. group  specified by remote-filespec.  This command can be used only when
  530. Kermit-MS has a KERMIT server on the other end of the connection.   This
  531. means  that  you must have CONNECTed to the other system, logged in, run
  532. KERMIT there, issued the SERVER command, and escaped back (e.g. ^]C)  to
  533. the  local  Kermit-MS.  If the remote Kermit does not have a SERVER com-
  534. mand, then you should use SEND and RECEIVE as described above.
  535.  
  536. You may use the GET command to specify a different name for storing  the
  537. incoming.    Just  type  GET  alone  on a line, and you will be prompted
  538. separately for the remote filespec and the local filespec:
  539.  
  540.   Kermit-MS>get
  541.    Remote Source File: com1.txt
  542.    Local Destination File: xcom1.txt
  543.  
  544. If more than one file arrives, only the first will be renamed.
  545.  
  546. The remote filespec is any string that can be a legal file specification
  547. for the remote system; it is not parsed or validated locally.    It  can
  548. contain  whatever wildcard or file-group notation is valid on the remote
  549. system.  As files arrive, their names will be displayed on your  screen,
  550. along  with packet traffic statistics and status messages.  You may type
  551. ^X to request that the current incoming file be cancelled, ^Z to request
  552. that the entire incoming batch be cancelled, and ^C or ^E to return  im-
  553. mediately to the Kermit-MS> prompt, exactly as described for the RECEIVE
  554. command.
  555.  
  556.  
  557. 9.3.2. Commands for Connecting and Disconnecting
  558.  
  559. The CONNECT command connects your PC as a terminal to the remote system,
  560. so that you can start up Kermit there.  The BYE, FINISH, and LOGOUT com-
  561. mands allow you to shut down a remote Kermit server.
  562.  
  563. BYE             When  communicating with a remote KERMIT server, use the
  564.                 BYE command to shut down the server, log  out  its  job,
  565.                 and exit from Kermit-MS to DOS.
  566.  
  567. FINISH          Like BYE, FINISH shuts down the remote server.  However,
  568.                 FINISH  does not log out the server's job.  You are left
  569.                 at Kermit-MS prompt level so that you can  connect  back
  570.                 to the job on the remote system.
  571.  
  572. LOGOUT          The  LOGOUT command is identical to the BYE command, ex-
  573.                 cept you will remain at Kermit-MS prompt  level,  rather
  574.                 than exit to DOS, so that you can establish another con-
  575.                 nection.
  576.                                                                       89
  577.  
  578.  
  579. The CONNECT Command
  580.  
  581. Establish  an interactive terminal connection to the system connected to
  582. the currently selected communications port (e.g.  COM1  or  COM2)  using
  583. full duplex (remote) echoing and no parity unless otherwise specified in
  584. previous  SET  commands.    Get  back  to Kermit-MS by typing the escape
  585. character followed by the letter C. The escape character is Control-] by
  586. default.
  587.  
  588. You can use the SET ESCAPE command to define a different escape  charac-
  589. ter,  and  on some systems (including the PC and XT) you can SET BAUD to
  590. change the baud rate, and SET PORT to switch between ports.
  591.  
  592. Terminal emulation is described in greater detail in section 9.4 below.
  593.  
  594.  
  595. 9.3.3. Commands for File Management
  596.  
  597. Kermit-MS provides commands or managing both local and remote files.
  598.  
  599.  
  600.                           THE REMOTE COMMANDS
  601.  
  602. The REMOTE keyword is a prefix for a number of commands.   It  indicates
  603. that  the command is to be performed by the remote Kermit, which must be
  604. running as a server.  Note that not all Kermit servers  are  capable  of
  605. executing  all  these  commands,  and some Kermit servers may be able to
  606. perform functions for which Kermit-MS does not yet have the  correspond-
  607. ing  commands.  In case you send a command the server cannot execute, it
  608. will send back a message stating that the command is unknown to it.   If
  609. the  remote  server can execute the command, it will send the results to
  610. your screen.  Here are the REMOTE commands which Kermit-MS may issue:
  611.  
  612. CWD [directory] Change Working Directory on the remote host.  Change the
  613.                 default source and destination area  for  file  transfer
  614.                 and  management.    You will be prompted for a password,
  615.                 which will be erased as you type it.    If  you  do  not
  616.                 supply  a  password  (i.e.  you  type  only  a  carriage
  617.                 return), the server will attempt to access the specified
  618.                 directory without a password.  If you do  not  supply  a
  619.                 directory  name,  your default or login directory on the
  620.                 remote system will be assumed.
  621.  
  622. DELETE filespec Delete the specified file or files on the remote system.
  623.                 In response, the remote host should display  a  list  of
  624.                 the files that were or were not successfully deleted.
  625.  
  626. DIRECTORY [filespec]  The remote system will provide a directory listing
  627.                 of the specified files.  If no files are specified, then
  628.                 all  files  in  the  default  area  (the current working
  629.                 directory) will be listed.
  630.  
  631. HELP            The remote  host  tells  what  server  functions  it  is
  632.                 capable of.
  633.  
  634. HOST [command]  Send  the command to the remote system's command proces-
  635.                                                                       90
  636.  
  637.  
  638.                 sor for execution.
  639.  
  640. SPACE [directory]
  641.                 Provide  a  brief summary of disk usage in the specified
  642.                 area on the remote host.  If none specified, the default
  643.                 or current area will be summarized.
  644.  
  645. TYPE filespec   Display the contents of the  specified  remote  file  or
  646.                 files on the screen.
  647.  
  648.  
  649.                            THE LOCAL COMMAND
  650.  
  651. The  LOCAL  keyword  is a prefix for a number of commands.  It indicates
  652. that the specified command is to be executed on the local MS-DOS system.
  653. The LOCAL prefix may be omitted.  The local commands available are:
  654.  
  655. DELETE filespec Deletes the specified file or files.   As  in  DOS,  the
  656.                 names of the deleted files are not listed, only the mes-
  657.                 sage  "file(s)  deleted"  or "file(s) not found", and if
  658.                 you give the command "delete *.*", Kermit-MS will prompt
  659.                 "Are you sure?", like DOS.
  660.  
  661. DIRECTORY [filespec]  Lists the names,  sizes,  and  creation  dates  of
  662.                 files  that  match  the given file specification.  If no
  663.                 filespec is given, the command is equivalent to DIR *.*.
  664.  
  665. SPACE           Performs the  MS-DOS  CHKDSK  function  by  running  the
  666.                 CHKDSK  program  from  the current path, or default disk
  667.                 under DOS 1.1.
  668.  
  669. RUN filespec    Runs the specified file, which must be in .EXE  or  .COM
  670.                 format,  from  the  specified  path  or according to the
  671.                 value of the PATH variable if no path  was  included  in
  672.                 the  filespec.    This  command  requires  MS-DOS 2.0 or
  673.                 higher.
  674.  
  675. PUSH            Invokes an MS-DOS command processor  "under"  Kermit-MS,
  676.                 either  COMMAND.COM or whatever shell you have specified
  677.                 with COMSPEC.  When you return  to  Kermit-MS  (for  in-
  678.                 stance,  by  typing  the  MS-DOS EXIT command), you will
  679.                 find Kermit-MS as you left it, with all settings intact.
  680.                 This command only works in MS-DOS 2.0 or higher.
  681.  
  682. The local RUN command has various uses, one of which  is  to  supplement
  683. the  features  of Kermit-MS.  For instance, suppose there is an involved
  684. procedure that you regularly perform on a certain remote system --  this
  685. might include giving commands to a modem to dial the system, looking for
  686. a particular herald or prompt, performing a login command sequence, run-
  687. ning a selected application, and then running Kermit to send the results
  688. back  to your PC.  You could write a program in the compiled language of
  689. your choice, say C or BASIC, to send the desired commands to your  modem
  690. and  the  remote  system and to look for the appropriate responses.  You
  691. could put all this in a Kermit-MS TAKE command file (see below), like
  692.                                                                       91
  693.  
  694.  
  695.   run update.com
  696.   receive
  697.  
  698. The  program,  called UPDATE in this case, does everything up to and in-
  699. cluding starting Kermit sending  from  the  remote  system.    When  the
  700. program  terminates,  the next Kermit-MS command, "receive," is executed
  701. from the command file.  When the end of the command file is reached, in-
  702. teractive operation is resumed.
  703.  
  704.  
  705.                             THE TAKE COMMAND
  706.  
  707. Syntax: TAKE filespec
  708.  
  709. Execute Kermit commands from the specified file, which  may  include  an
  710. explicit  path;  if no path is specified, the value of the PATH variable
  711. is used; if PATH has no value, then the current disk and  directory  are
  712. searched.  The command file may include TAKE commands, but it cannot in-
  713. clude  characters  to be sent to a remote host during terminal emulation
  714. (i.e. after a CONNECT command).  A command  file  may  include  comments
  715. prefixed by semicolons.
  716.  
  717.  
  718.                             THE LOG COMMAND
  719.  
  720. Syntax: LOG filespec
  721.  
  722. Specifies  that all characters that appear on your screen during CONNECT
  723. will be recorded in the specified file.  This allows  you  to  "capture"
  724. files  from  a  remote  system  that  doesn't have Kermit, as well as to
  725. record remote command typescripts.  The log is closed when you EXIT from
  726. Kermit-MS or when you issue an explicit CLOSE command.
  727.  
  728.  
  729. 9.3.4. The SERVER Command
  730.  
  731. Kermit-MS is capable of acting as a Kermit server, providing file trans-
  732. fer for users coming in through one of the  communication  ports.    The
  733. current  version  of Kermit-MS can send files (the user on the other end
  734. types the GET command), receive files (the user types  SEND),  and  ter-
  735. minate, giving control back to the console (user types BYE).
  736.  
  737. To  put Kermit-MS into server mode, first issue any desired SET commands
  738. to select and configure the desired port, and then type the SERVER  com-
  739. mand.   Kermit-MS will await all further instructions from the user Ker-
  740. mit on the other end of the connection, which may be hardwired  or  con-
  741. nected through an autoanswer modem.  For example:
  742.  
  743.   Kermit-MS>set port 1
  744.   Kermit-MS>set baud 1200
  745.   Kermit-MS>set timer on
  746.   Kermit-MS>set warning on
  747.   Kermit-MS>server
  748.                                                                       92
  749.  
  750.  
  751. 9.3.5. The SET Command
  752.  
  753. Syntax: SET parameter [value]
  754.  
  755. Establish  or  modify  various  parameters for file transfer or terminal
  756. connection.  You can examine their values with the SHOW command.    Note
  757. that  there  is  no  "set  ibm"  command;  IBM  mainframe  communication
  758. parameters may be selected with a command macro (see below).   The  fol-
  759. lowing SET commands are available in Kermit-MS:
  760.  
  761.                 BAUD  Communications port line speed
  762.                 BELL  Whether to beep at the end of a transaction
  763.     BLOCK-CHECK-TYPE  Level of error checking for file transfer
  764.                DEBUG  Display packet contents during file transfer
  765.         DEFAULT-DISK  Default disk drive for file i/o
  766.          DESTINATION  Default destination device for incoming files
  767.          END-OF-LINE  Packet terminator
  768.                  EOF  Method for determining or marking end of file
  769.               ESCAPE  Escape character for CONNECT
  770.         FLOW-CONTROL  Enable or disable XON/XOFF
  771.            HANDSHAKE  Half-duplex line turnaround option
  772.              HEATH19  Heath/Zenith-19 terminal emulation
  773.           INCOMPLETE  What to do with an incompletely received file
  774.                  KEY  Specify key redefinitions, or "keystroke macros"
  775.           LOCAL-ECHO  Specify which host does the echoing during CONNECT
  776.               PARITY  Character parity to use
  777.                 PORT  Select a communications port
  778.               PROMPT  Change the "Kermit-MS>" prompt to something else
  779.              RECEIVE  Request remote Kermit to use specified parameters
  780.               REMOTE  For running Kermit-MS interactively from back port
  781.                 SEND  Use the specified parameters during file transfer
  782.            TAKE-ECHO  Control echoing of commands from TAKE files
  783.                TIMER  Enable/disable timeouts during file transfer
  784.              WARNING  Specify how to handle filename collisions
  785.  
  786. The SET commands that are peculiar to MS-DOS Kermit are now described in
  787. greater detail.  The others behave as in "ideal" Kermit.
  788.  
  789.  
  790. SET BAUD
  791.  
  792. Syntax: SET BAUD rate
  793.  
  794. Set  the  speed  of  the currently selected terminal communications port
  795. (COM1 by default) to 300, 1200, 1800, 2400, 4800, 9600 or  other  common
  796. baud  rate.    Some implementations do not support this command.  In any
  797. case, Kermit-MS leaves the current communication port settings alone un-
  798. less you issue explicit SET commands to change them.
  799.  
  800.  
  801. SET BELL
  802.  
  803. Syntax: SET BELL ON or OFF
  804.  
  805. Specifies whether bell (beeper) should sound upon completion of  a  file
  806. transfer operation.
  807.                                                                       93
  808.  
  809.  
  810. SET DEBUG
  811.  
  812. Syntax: SET DEBUG ON or OFF
  813.  
  814. ON      Display  the  Kermit  packet  traffic on your screen during file
  815.         transfer.  If the debugger is loaded,  transfer  control  to  it
  816.         when CTRL-C is typed.  In Heath-19 terminal emulation on the IBM
  817.         PC, display unusual control characters in uparrow notation.
  818.  
  819. OFF     Don't  display  debugging information (this is the default).  If
  820.         debugging was in effect, turn it off.
  821.  
  822.  
  823. SET DEFAULT-DISK
  824.  
  825. Syntax: SET DEFAULT-DISK x:
  826.  
  827. Specify the default disk drive to use for file transfer, directory list-
  828. ings, and so forth.  Equivalent to typing the DOS command  for  changing
  829. disks.
  830.  
  831.  
  832. SET DESTINATION
  833.  
  834. Syntax: SET DESTINATION device
  835.  
  836. Specify the device for incoming files, DISK or PRINTER.  SET DESTINATION
  837. PRINTER will cause incoming files to be spooled directly to the printer.
  838. The normal destination is DISK.
  839.  
  840.  
  841. END-OF-LINE
  842.  
  843. Syntax: SET END-OF-LINE number
  844.  
  845. If  the  remote  system needs packets to be terminated by anything other
  846. than carriage return, specify the decimal value  of  the  desired  ASCII
  847. character.
  848.  
  849.  
  850. SET EOF
  851.  
  852. Syntax: SET EOF option
  853.  
  854. Controls how the end of file is handled.  The options are:
  855.  
  856. CTRL-Z          Append  a  Control-Z character to the end of an incoming
  857.                 file, unless it already ends with a Control-Z.   Certain
  858.                 MS-DOS text editors and other applications require files
  859.                 to  be  in  this  format.  For outbound files, treat the
  860.                 first Control-Z as the end of file, and do not  send  it
  861.                 nor any characters following it.
  862.  
  863. NOCTRL-Z        (Default)  Store  incoming files exactly as is, and send
  864.                 MS DOS files exactly as  is  (according  to  their  byte
  865.                 count).
  866.                                                                       94
  867.  
  868.  
  869. SET ESCAPE
  870.  
  871. Syntax: SET ESCAPE character
  872.  
  873. Specify  the  control  character you want to use to "escape" from remote
  874. connections back to Kermit-MS.  The default  is  normally  ^]  (Control-
  875. Rightbracket).  The  character is entered literally, and should normally
  876. be chosen from the ASCII control range.
  877.  
  878.  
  879. SET FLOW-CONTROL
  880.  
  881. Syntax: SET FLOW-CONTROL option
  882.  
  883. Specify the full duplex  flow  control  to  be  done  on  the  currently
  884. selected  port.    The  current  options  are  XON/XOFF  and  NONE.  The
  885. specified type of flow control will be done during both terminal  emula-
  886. tion  and file transfer.  If set to XON/XOFF, HANDSHAKE is automatically
  887. set to OFF.
  888.  
  889.  
  890. SET HANDSHAKE
  891.  
  892. Syntax: SET HANDSHAKE option
  893.  
  894. Specify any half-duplex handshaking to be done on the currently selected
  895. port.  The options are BELL, CR, LF, NONE, XOFF, or XON.  The  specified
  896. handshaking will be done during file transfer only.  If HANDSHAKE is set
  897. to anything other than NONE, FLOW-CONTROL is automatically set to OFF.
  898.  
  899.  
  900. SET HEATH19
  901.  
  902. Syntax: SET HEATH19 ON or OFF
  903.  
  904. Specify  whether Kermit-MS should use its built-in software facility for
  905. emulating a Heath/Zenith-19 (H19) terminal.
  906.  
  907. ON      During CONNECT, incoming characters are to be examined  for  H19
  908.         terminal  screen control commands (escape sequences), and if en-
  909.         countered, the commands are to be emulated  on  the  PC  screen.
  910.         The  H19  codes are a superset of the popular DEC VT52 codes, so
  911.         if your system does not support the Heath-19, you  may  tell  it
  912.         that  your  terminal  type  is  VT52  (or  one  of the many VT52
  913.         compatibles).  The Heath-19 codes are listed  in  section  9.10,
  914.         below.
  915.  
  916. OFF     All  incoming  characters  will  be  sent  to the screen "bare",
  917.         through DOS.  If you have loaded a device driver  into  DOS  for
  918.         the CON: device, such as ANSI.SYS, then that driver will be able
  919.         to  interpret  the codes itself. Most non-IBM systems have their
  920.         own screen control code interpreter built into DOS or  firmware,
  921.         or available as a loadable device driver.
  922.  
  923. See section 9.4 for details about terminal emulation.
  924.                                                                       95
  925.  
  926.  
  927. SET KEY
  928.  
  929. Syntax: SET KEY key-specifier
  930.  
  931. Specifies  that when the designated key is struck during terminal emula-
  932. tion, the associated character string is sent.  The key-specifier is one
  933. of the keywords F1, F2, ..., or SCAN followed by a scan code.    Systems
  934. that have a BACKSPACE key also include BACKSPACE as a keyword.
  935.  
  936. If SCAN is used, it is followed by a decimal number to indicate the scan
  937. code  of  the  key, which you would ascertain from your system reference
  938. manual, or else by using the  Kermit-MS  SHOW  KEY  command.    SET  KEY
  939. prompts  you  on  a new line for the definition string.  Certain charac-
  940. ters, like ESC and CR, may not be entered literally into the string, but
  941. can be included by inserting escape codes of the form \ooo, a  backslash
  942. followed  by  a  2-  or  3-digit octal number corresponding to the ASCII
  943. value of the desired character.  If some other key redefinition package,
  944. like  ProKey,  has  been  loaded,  then  its  redefinitions  will   take
  945. precedence over Kermit's.
  946.  
  947. The  SET  KEY  command is illustrated in the terminal emulation section,
  948. 9.4, below.
  949.  
  950.  
  951. SET LOCAL-ECHO
  952.  
  953. Syntax: SET LOCAL-ECHO option
  954.  
  955. Specify how characters are echoed during terminal emulation on the  cur-
  956. rently  selected port.  ON specifies that characters are to be echoed by
  957. Kermit-MS (because neither the remote computer  nor  the  communications
  958. circuitry  has  been  requested  to  echo), and is appropriate for half-
  959. duplex connections.  LOCAL-ECHO is  OFF  by  default,  for  full-duplex,
  960. remote echo operation.
  961.  
  962. When  you SET LOCAL-ECHO ON, the current HANDSHAKE (if any) is automati-
  963. cally enabled and full-duplex FLOW-CONTROL is automatically turned  off.
  964. When you SET LOCAL-ECHO OFF, HANDSHAKE is also disabled, and the current
  965. mode  of  FLOW-CONTROL  (if  any)  is  enabled.  If this behavior is un-
  966. desired, you may override it by typing explicit  SET  HANDSHAKE  or  SET
  967. FLOW commands after entering the SET LOCAL-ECHO command.
  968.  
  969.  
  970. SET PARITY
  971.  
  972. Syntax: SET PARITY keyword
  973.  
  974. Specify  the character parity to be used on the currently selected port.
  975. The choices for SET PARITY are NONE (the default), ODD, EVEN, MARK,  and
  976. SPACE.  NONE means no parity processing is done, and the 8th bit of each
  977. character can be used for data when transmitting binary files.
  978.  
  979. You  will  need to SET PARITY to ODD, EVEN, MARK, or possibly SPACE when
  980. communicating with a system, or over a network, or through modems,  con-
  981. centrators, multiplexers, or front ends that require or impose character
  982. parity  on  the  communication line.  For instance, GTE Telenet requires
  983.                                                                       96
  984.  
  985.  
  986. MARK parity.  If you neglect to SET PARITY when the communications equi-
  987. pment requires it, the symptom may be that terminal emulation works par-
  988. tially, and file transfer does not work at all.
  989.  
  990. If you have set parity to ODD, EVEN, MARK, or SPACE, then Kermit-MS will
  991. request  that  binary files will be transferred using 8th-bit-prefixing.
  992. If the other side knows how to do 8th-bit-prefixing (this is an optional
  993. feature of the KERMIT protocol, and not all  implementations  of  KERMIT
  994. have it), then binary files can be transmitted successfully.  If NONE is
  995. specified,  8th-bit-prefixing will not be requested.  Note that there is
  996. no advantage to using parity; it only slows Kermit file  transfer  down.
  997. The  SET  PARITY  command  is  provided only to allow Kermit to adapt to
  998. hardware that insists upon using parity.
  999.  
  1000.  
  1001. SET PORT
  1002.  
  1003. Syntax: SET PORT number
  1004.  
  1005. On machines with more than one communications port, select the  port  to
  1006. use  for  file  transfer  and CONNECT.  This command lets you use a dif-
  1007. ferent asynchronous adapter, or switch between two or more  simultaneous
  1008. remote  sessions.    Subsequent  SET  BAUD, PARITY, HANDSHAKE, FLOW, and
  1009. LOCAL-ECHO commands will apply to this port only.  SET  PORT  1  selects
  1010. COM1, SET PORT 2 selects COM2.
  1011.  
  1012.  
  1013. SET REMOTE
  1014.  
  1015. Syntax: SET REMOTE ON or OFF
  1016.  
  1017. If  you  wish  to run Kermit-MS interactively through the back port, for
  1018. instance after the operator has done CTTY COM1, you must give  the  com-
  1019. mand SET REMOTE ON; this suppresses the file transfer display screen, so
  1020. that the display won't interfere with the file transfer itself.
  1021.  
  1022.  
  1023. SET RECEIVE
  1024.  
  1025. Syntax: SET RECEIVE parameter value
  1026.  
  1027. At  the  beginning of a protocol operation, request the remote Kermit to
  1028. use the given value specified parameter, or inform  Kermit-MS  that  the
  1029. remote Kermit will be using it.
  1030.  
  1031. PACKET-LENGTH   Ask  the  remote  Kermit  to  use  the specified maximum
  1032.                 length for packets that it sends to Kermit-MS.  The nor-
  1033.                 mal (and maximum) length is 94.   Use  this  command  to
  1034.                 shorten packets if the communication line is noisy; this
  1035.                 will  decrease  the probability that a particular packet
  1036.                 will be corrupted, and will  reduce  the  retransmission
  1037.                 overhead  when  corruption  occurs, but it will increase
  1038.                 the protocol overhead.
  1039.  
  1040. PADCHAR         Ask the remote Kermit to use the given character for in-
  1041.                 terpacket padding.  Kermit-MS should never  require  any
  1042.                                                                       97
  1043.  
  1044.  
  1045.                 padding.
  1046.  
  1047. PADDING         Ask the remote Kermit to insert the given number of pad-
  1048.                 ding  characters  before  each  packet  it  sends.  This
  1049.                 should never be necessary.
  1050.  
  1051. START-OF-PACKET The remote Kermit will be marking the beginning of pack-
  1052.                 ets with something other than Control-A.  This  will  be
  1053.                 necessary  only  if the hosts or communication equipment
  1054.                 involved cannot pass a Control-A through as data.
  1055.  
  1056. TIMEOUT         Ask the remote Kermit to time out after the given number
  1057.                 of seconds if a packet expected from Kermit-MS  has  not
  1058.                 arrived.   Use this command to change the normal timeout
  1059.                 interval.
  1060.  
  1061.  
  1062. SET SEND
  1063.  
  1064. Syntax: SET SEND parameter value
  1065.  
  1066. PACKET-LENGTH   Use the specified maximum length for  outbound  packets.
  1067.                 Normally,  Kermit-MS uses whatever length the other Ker-
  1068.                 mit requests.
  1069.  
  1070. PADCHAR         Use the specified  character  for  interpacket  padding.
  1071.                 Some hosts may require some padding characters (normally
  1072.                 NUL or DEL) before a packet.
  1073.  
  1074. PADDING         How many padding characters to use between packets, nor-
  1075.                 mally zero.
  1076.  
  1077. QUOTE           Use  the  indicated  printable  character  for prefixing
  1078.                 (quoting) control characters and  other  prefix  charac-
  1079.                 ters.  The only reason to change this would be for send-
  1080.                 ing a very long file that contains very many "#" charac-
  1081.                 ters (the normal control prefix) as data.
  1082.  
  1083. START-OF-PACKET Mark the beginning of outbound packets with some control
  1084.                 character  other than Control-A.  This will be necessary
  1085.                 only if the remote host or the communication channel in-
  1086.                 volved cannot accept a Control-A as data.    The  remote
  1087.                 host  must have been given the corresponding SET RECEIVE
  1088.                 START-OF-PACKET command.
  1089.  
  1090. TIMEOUT         Change Kermit-MS's normal timeout interval; this command
  1091.                 is effective only if TIMER is set to be ON; it  is  nor-
  1092.                 mally   OFF  so  that  the  remote  KERMIT  can  control
  1093.                 timeouts.
  1094.                                                                       98
  1095.  
  1096.  
  1097. SET TAKE-ECHO
  1098.  
  1099. Syntax: SET TAKE-ECHO ON or OFF
  1100.  
  1101. Specifies  whether  screen  display  should occur during implicit or ex-
  1102. plicit TAKE operations on MSKERMIT.INI or other Kermit-MS command files,
  1103. and during evaluation of macro definitions.  Handy for finding errors in
  1104. command files.
  1105.  
  1106.  
  1107. SET TIMER
  1108.  
  1109. Syntax: SET TIMER ON or OFF
  1110.  
  1111. Enable or disable the timer that is used during file transfer  to  break
  1112. the  deadlock  that  occurs when an expected packet does not arrive.  By
  1113. default, the timer is OFF, because Kermit-MS is usually used in conjunc-
  1114. tion with a mainframe that is doing its own timeouts.    During  a  file
  1115. transfer,  it  is  sufficient  for one side to do the timing out and the
  1116. mainframe is usually better equipped to adjust timeout  intervals  based
  1117. on  system  load or other conditions.  The timer should be set ON if you
  1118. are communicating with a system that cannot do  timeouts,  such  as  IBM
  1119. VM/CMS Kermit.
  1120.  
  1121.  
  1122. SET WARNING
  1123.  
  1124. Syntax: SET WARNING option
  1125.  
  1126. Specify  what to do when an incoming file has the same name as an exist-
  1127. ing file in the default directory of the default device.  If ON,  Kermit
  1128. will  warn  you  when  an incoming file has the same name as an existing
  1129. file, and automatically rename the incoming file (as  indicated  in  the
  1130. warning  message) so as not to destroy (overwrite) the pre-existing one.
  1131. If OFF, the pre-existing file is destroyed, even if  the  incoming  file
  1132. does not arrive completely.
  1133.  
  1134.  
  1135. 9.3.6. The SHOW Command
  1136.  
  1137. Syntax: SHOW option
  1138.  
  1139. Currently,  most  parameters  that  may be altered with SET commands are
  1140. displayed by the STATUS command.  The SHOW command is used for  display-
  1141. ing macro definitions and key redefinitions.
  1142.  
  1143. The  SHOW  MACROS  command  displays  the  definitions  of all currently
  1144. defined macros.
  1145.  
  1146. The SHOW KEY command allows you to determine the scan code  produced  by
  1147. pressing  a  given  key,  so that you can construct a SET KEY command to
  1148. redefine the key.  If the key already has a redefinition in effect, that
  1149. too will be displayed.  In this example, a DEC Rainbow  user  determines
  1150. the  scan  code for the accent grave key, and then redefines that key to
  1151. send ESC:
  1152.                                                                       99
  1153.  
  1154.  
  1155.   Kermit-MS>show key
  1156.   Press a key: `
  1157.     Scan Code:  96
  1158.     Definition:
  1159.   Kermit-MS>set key scan 96
  1160.   Definition string: \33
  1161.   Kermit-MS>show key
  1162.   Press a key: `
  1163.     Scan Code:  96
  1164.     Definition: \33
  1165.   Kermit-MS>
  1166.  
  1167. The SHOW KEY command only works on certain systems.
  1168.  
  1169.  
  1170. 9.3.7. Command Macros
  1171.  
  1172. Kermit-MS  provides  a  facility  for  combining commands into "macros."
  1173. Command macro definitions may be included  in  your  MSKERMIT.INI  file,
  1174. TAKEn  explicitly from a specified file, or typed interactively, and may
  1175. be invoked with the DO command.
  1176.  
  1177.  
  1178.                            THE DEFINE COMMAND
  1179.  
  1180. Kermit-MS command macros are constructed with the DEFINE command.    The
  1181. syntax is
  1182.  
  1183.   DEFINE macro-name  [command [, command [, ...]]]
  1184.  
  1185. Any Kermit-MS commands may be included.  Example:
  1186.  
  1187.   define telenet set parity mark, set baud 1200, connect
  1188.  
  1189.  
  1190.                              THE DO COMMAND
  1191.  
  1192. A  Kermit-MS  command  macro  is  invoked using the DO command.  For in-
  1193. stance, Kermit-MS comes with a  predefined  macro  to  allow  convenient
  1194. setup for IBM communications; to invoke it, you would type
  1195.  
  1196.   do ibm
  1197.  
  1198. The  IBM macro is defined as "parity mark, handshake xon, local-echo on,
  1199. timer on".  You can delete or replace this definition by  adding  a  new
  1200. (perhaps null) definition, such as
  1201.  
  1202.   define ibm parity even, handshake cr, local-echo on, timer on
  1203.  
  1204. or
  1205.  
  1206.   define ibm
  1207.                                                                      100
  1208.  
  1209.  
  1210. 9.4. Terminal Emulation
  1211.  
  1212. When you issue the CONNECT command, your PC acts as a terminal connected
  1213. to  a  remote computer through the currently selected port.  The charac-
  1214. ters you type are sent out the port, and characters that arrive  at  the
  1215. port  are displayed on your screen.  If you have not previously issued a
  1216. SET PORT command, COM1 is used.  If you have SET LOCAL-ECHO ON  for  the
  1217. selected  port,  then Kermit-MS will display characters on the screen as
  1218. you type them.  If LOCAL-ECHO is OFF, then XON/XOFF flow control will be
  1219. done unless you have SET FLOW-CONTROL OFF.  If you have  SET  PARITY  to
  1220. anything  other  than NONE, Kermit-MS will add the appropriate parity to
  1221. each outbound character, and strip any parity from incoming ones.  While
  1222. CONNECTed, you can also communicate with an autodialer or "smart  modem"
  1223. to  control  the  communications line, hang it up, and the like; for in-
  1224. stance, typing +++ to a Hayes-like modem will allow you to  follow  that
  1225. by dialing or hangup commands.
  1226.  
  1227. If  Heath-19  emulation  is  being  done,  incoming  characters  will be
  1228. monitored for H19/VT52 escape sequences.  These will be interpreted  ac-
  1229. cording  to the table in section 9.10.  In addition, keys on the numeric
  1230. keypad will send H19/VT52 sequences unless you disable this  feature  in
  1231. some  way,  for instance by pressing Num Lock on the IBM PC keyboard, or
  1232. with key redefinitions.
  1233.  
  1234.     Caution: On some systems, such as the IBM PC and  XT,  Kermit-MS
  1235.     accesses  the  screen  memory memory directly to perform certain
  1236.     H19 emulation functions  such  as  character  insert/delete  and
  1237.     screen scroll.  Without direct screen memory access, these func-
  1238.     tions  would  be  painfully  slow.   Although Kermit-MS has been
  1239.     tested successfully on a variety of monochrome and  color  adap-
  1240.     ters  and  monitors,  there  may  be combinations for which this
  1241.     method could cause video problems, such as snow.    Should  this
  1242.     occur,  you  can alleviate the problem by setting HEATH19 emula-
  1243.     tion OFF.  In that  case,  however,  you  remove  not  only  the
  1244.     problems,  but  also  the  desirable features of emulation.  But
  1245.     Kermit-MS does permit you to load  an  external  console  device
  1246.     driver,  such  as  IBM's ANSI.SYS, to provide any desired screen
  1247.     control.
  1248.  
  1249. Here are the terminal emulation options for the systems  presently  sup-
  1250. ported by Kermit-MS:
  1251.  
  1252.   System         EscChar   Cabilities   Terminal Service
  1253.   IBM PC, XT       ^]      R M P K      Heath19 emulation
  1254.   DEC Rainbow      ^]      R   P K      VT102 firmware
  1255.   HP-150           ^]      R            HP-2623 firmware
  1256.   Wang PC          ^A                   Wang firmware
  1257.   Generic DOS      ^]                   Depends on system
  1258.  
  1259. Under Capabilities, R means rollback, M means mode line, P means printer
  1260. control, and K means key redefinition.
  1261.  
  1262. IBM PC/XT Kermit can disable Heath-19 emulation and use an external con-
  1263. sole device driver like ANSI.SYS instead.
  1264.  
  1265. When you first issue the CONNECT command, a message (on some systems, an
  1266.                                                                      101
  1267.  
  1268.  
  1269. inverse  video  "mode line") will display the most important facts about
  1270. the connection you've just established, so that you can quickly diagnose
  1271. any problems.  The items displayed in the mode line include  the  escape
  1272. character,  port number, the baud rate, the parity, the echo, and how to
  1273. get help, for instance:
  1274.  
  1275. +---------------------------------------------------------------------+
  1276. |EscChar:^],Port:1,Baud:9600,Parity:None,Echo:Remote,Type ^]? for Help|
  1277. +---------------------------------------------------------------------+
  1278.  
  1279. The escape character is used to regain the attention of Kermit-MS.  When
  1280. you type the escape character, Kermit-MS waits for you to follow it with
  1281. a single character command.  For instance, the  single-character-command
  1282. "?"  produces  a  list  of  available single character commands, such as
  1283. this:
  1284.  
  1285.   ?   Help -- prints the available single-character commands.
  1286.   C   Close the connection and return to Kermit-MS prompt level.
  1287.   S   Show the status of the connection.
  1288.   B   Send a BREAK signal to the port.
  1289.   0   (the digit zero) Send a NUL (ASCII 0) to the port.
  1290.   Q   Temporarily quit logging the remote session.
  1291.   R   Resume logging the remote session.
  1292.   M   Toggle the mode line, i.e. turn it off if it is on & vice versa.
  1293.   ^]  (or whatever you have set the escape character to be)
  1294.       Typing the escape character twice sends one copy of it to the con-
  1295.       nected host.
  1296.  
  1297. Typing any other character (except the space bar,  which  is  the  "null
  1298. command")  after  the escape character will cause Kermit-MS to beep, but
  1299. will do no harm.  The escape character can be changed to something other
  1300. than Control-Rightbracket by using the SET ESCAPE command.
  1301.  
  1302. Kermit-MS includes several advanced features  for  use  during  terminal
  1303. emulation,  including  screen scroll, printer control, and key redefini-
  1304. tions.
  1305.  
  1306.  
  1307. Screen Scroll
  1308.  
  1309. Kermit-MS provides several pages of screen memory, which may be scrolled
  1310. up and down using keys as follows:
  1311.  
  1312.   Function            IBM PC/XT   Rainbow           HP-150
  1313.   Screen Down         PgDn        PrevScreen        Prev
  1314.   Line Down           Ctrl-PgDn   Ctrl-PrevScreen   Shift-UpArrow
  1315.   Screen Up           PgUp        NextScreen        Next
  1316.   Line Up             Ctrl-PgUp   Ctrl-NextScreen   Shift-DownArrow
  1317.   Top of Memory       Home
  1318.   Bottom of Memory    End
  1319.  
  1320. There is presently no way to assign these functions to other keys.
  1321.                                                                      102
  1322.  
  1323.  
  1324. Printer Control
  1325.  
  1326. A  locally  attached  printer may be controlled in the normal manner, on
  1327. most systems.  Pushing the "Print Screen" key (shifted on some  systems)
  1328. will  cause the current contents of the screen to be printed or spooled;
  1329. holding down CTRL while depressing Print Screen will start or  stop  the
  1330. spooling  of  incoming  characters to the printer.  ^P or ^N are sent to
  1331. the host during terminal emulation, and do not toggle printing, as  they
  1332. do when you're talking directly to DOS.
  1333.  
  1334. CTRL-Print-Screen  can be simulated with the Kermit-MS LOG PRN and CLOSE
  1335. commands.
  1336.  
  1337.  
  1338. Key Redefinitions
  1339.  
  1340. Key redefinitions are useful for defining "keystroke  macros"  of  login
  1341. sequences,  frequently issued commands, and so forth, and for setting up
  1342. the terminal for use with host resident software designed to  work  with
  1343. terminals  that send predefined sequences from their function keys.  For
  1344. instance, here's a key redefinition file for arranging the  DEC  Rainbow
  1345. keyboard into the normal ASCII keyboard layout:
  1346.  
  1347.   ; Make shift-comma send a left angle bracket
  1348.   set key scan 556
  1349.   <
  1350.   ; Shift-period sends a right angle bracket
  1351.   set key scan 558
  1352.   >
  1353.   ; Accent grave is where ESC is supposed to be
  1354.   set key scan 96
  1355.   \33
  1356.   ; Put accent grave on the ESC function key
  1357.   set key f11
  1358.   `
  1359.  
  1360. The  SET  KEY  facility may be used provide the PC with a "meta" key for
  1361. use with editors like EMACS or TVEDIT that can use "meta characters"  as
  1362. commands.   A meta key is a shift key whose effect is to turn on the 8th
  1363. (parity) bit of the character.  For instance, on the  IBM  PC  the  scan
  1364. codes  produced  by  holding  down  ALT  together with other keys can be
  1365. determined using SHOW KEY, and then 8-bit ASCII equivalents with the 8th
  1366. bit turned on can be defined using SET KEY; if the scan code produced by
  1367. typing ALT-a, i.e. the letter "a" (ASCII 141, octal) with  the  ALT  key
  1368. held  down,  is  2078  (decimal),  you  would set the META equivalent to
  1369. 141+200=341 (octal), or "\341" in octal SET KEY notation:
  1370.  
  1371.   Kermit-MS>sho key
  1372.   Press a key: ALT-a
  1373.     Scan Code: 2078
  1374.     Definition:
  1375.   Kermit-MS>set key scan 2078
  1376.   Definition String: \341
  1377.  
  1378. Whenever you type ALT-a with this definition in effect,  Kermit-MS  will
  1379. transmit octal 341, ratnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhlnnHnnm     lnn,         etni
  1380.     4idnnmlnhotni
  1381. nn;nhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhntTnmTnHtnm           fnRtnmonntLh
  1382.                                                          senmetntitn,    .niGnrni
  1383.     einm                     eenHenmyniolnmanh
  1384.                -nm          Oni
  1385.     ninmn;
  1386.                                                                                                                             iohnme;nTh
  1387.     c;inFinm     pth
  1388. inm     tfh
  1389.          -thdfh
  1390.          trnH niirnm.nm          n,fhnoniFniioni
  1391.                                     cen,    oln,    Nnm lntdthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhn,    en,         Mnid nin thm ni
  1392.                
  1393. th
  1394.     nonnmninttinuntihhn-hnteinqti
  1395.                                                               eAhcTi
  1396.                oin,    aintptinmdRo intnfiHtiiitilcntmRo                          cficntutiyfiosnm cntdRo    anm          rrn,         t Riwn,         ,Ri fi
  1397.                nlhph
  1398.     ionmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmiodnmelho5imtiiunuun,    Etioun,onm     tLt:hlLtcehcLtreh
  1399.     dlhmLtKnuanFLIlhoanm     nphFtiiotilphhph
  1400.     l nme nRphmphi5o          ?H ti
  1401. ph
  1402.          gehl ti
  1403.     hhho
  1404. nm               r eh tid tiCeho ehlntmnhh
  1405.               etihcnttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttihphh
  1406.     tmntfHntttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttihyhhotH
  1407. nt;ihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,    shhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooDhhneHmtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttHttFttm                                iTm                               rAiletm                          eltm     ntyH
  1408.     Uh
  1409.               rstmrfFetm
  1410. iho ih
  1411. et7HRH
  1412.                                           mH
  1413.                                                     schoctm                                wttttttttttttttttttttttttttttttttch
  1414. sn,                                         8n,    crhn,    KtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttH
  1415. n,         gfm          r H
  1416.     Rtm                id H
  1417.     
  1418. rhntei
  1419.     tdn,                                    Teiddn,              atei
  1420. dnthli
  1421.     monumtHuhcuhomtm          eeei
  1422.                n!         nyh
  1423.     l!         nan,     ieidyh
  1424.          etm                     s!    o!              KeiNei
  1425.                StFan,           `dtmnpi eilotm          Ptmepin2mipi
  1426.     rpidotml nt otm otm     tBh2m                m nDpi
  1427.     u nt?uatFBi pioatm Bo                                         n,    i
  1428. n,    l tme tR
  1429. nb ei
  1430.     r tF
  1431. neioY,    n eiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt n,                                    ittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt          Mtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthi
  1432.                                ;intiipnt,    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA          onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnehiotii
  1433. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiit,    ettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt                               stttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttlii
  1434.     Bhoeii
  1435. ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt     nttttttuiii
  1436.          Ehi
  1437.     -iiyttDttthiibhoftItttdhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiittuii
  1438.     ieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9iolllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll    eppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp hideeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee     nmho hi
  1439.          fmhliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii          rmh
  1440.      hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmiimiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii          oiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieT,         sAmhT,    eAm          .Turrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr     omh
  1441.     gii
  1442.               aEh
  1443.     tltttetuoiihlt,          uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy     sTtT,lt,         ept,    met- ii
  1444.          s ii
  1445.          s-i
  1446.          ,T,           ettnitThtttitunftHt-htteitqf,    Tftffutftlciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiitt ht,htthci
  1447.     mitummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm"iwci
  1448.          tefb-i
  1449. -iniftpfIitt -i
  1450.     lsh
  1451.           hftmcicctbct,    hsh
  1452.     csh
  1453.     oct